// 这是一个调用fork函数创建子进程的实例，当创建子进程后会分别打印两者对应的进程标识符
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main(void){
	// 创建两个进程标识符
	pid_t pid1,pid2;

	printf("Hello!\n");
	// 创建子进程1
	pid1 = fork();
	

	if(pid1 == -1){
		printf("子进程1创建失败!\n");
		return -1;
	}else if(pid1 == 0){
		printf("这是子进程1，标识符为：%d\n", getpid());
	}else{
		printf("这是子进程1的父进程，标识符为%d\n", getpid());

		// 创建子进程2
		pid2 = fork();

		if(pid2 == -1){
			printf("子进程2创建失败!\n");
			return -2;
		}else if(pid2 == 0){
			printf("这是子进程2，标识符为：%d\n", getpid());	
		}else{
			printf("这是子进程2的父进程，标识符为:%d\n",getpid());
		}
	}

	printf("这是一个多进程测试，即将退出!\n");

	return 0;


}
